From 352f42ceb71fd6c189cb396e6de0c58da83f35c5 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Fri, 23 Feb 2024 14:29:53 -0600 Subject: [PATCH] Set client-side connection encoding --- src/pgwui_core/core.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/pgwui_core/core.py b/src/pgwui_core/core.py index 89836e7..c66940d 100644 --- a/src/pgwui_core/core.py +++ b/src/pgwui_core/core.py @@ -1549,6 +1549,18 @@ class DBConnector(object): conn.close() return encoding + def _get_conn_kwargs(self, forced_client_encoding): + ''' + Return a dict with additional conninfo values from the settings. + ''' + registry = self.uh.request.registry + if forced_client_encoding is not None: + return {'client_encoding': forced_client_encoding} + client_encoding = registry.settings['pgwui'].get('client_encoding') + if client_encoding == '': + return {} + return {'client_encoding': client_encoding} + def call_with_connection(self, func): ''' Validate input, connect to the db, and do something with @@ -1600,6 +1612,8 @@ class DBConnector(object): user=self.user, password=self.password, host=registry.settings['pgwui'].get('pg_host'), + port=registry.settings['pgwui'].get('pg_port'), + **self._get_conn_kwargs(client_encoding)) except psycopg.OperationalError: errors = [self.authfailerror_factory()] havecreds = False -- 2.34.1